//package com.yunhe.device.service.base;
//
//import com.yunhe.device.domain.base.DeviceType;
//import com.yunhe.common.exception.ArgumentErrorException;
//import com.yunhe.common.exception.ObjectNotFoundException;
//import com.yunhe.common.exception.UniqueConstraintsException;
//import org.springframework.transaction.annotation.Transactional;
//
///**
// * 设备类型Service
// * @desc 设备类型服务类定义
// * @author liuronglei
// */
//public interface DeviceTypeService {
//
//    /**
//     * 新增设备类型
//     * @param deviceType 设备类型对象
//     */
//    @Transactional
//    DeviceType createDeviceType(DeviceType deviceType)
//            throws ArgumentErrorException, UniqueConstraintsException;
//
//    /**
//     * 删除设备类型
//     * @param deviceTypeId 设备类型ID
//     */
//    @Transactional
//    void deleteDeviceType(Long deviceTypeId);
//
//    /**
//     * 更新设备类型（更新全部字段）
//     * @param deviceType 设备类型对象
//     */
//    @Transactional
//    DeviceType updateDeviceType(DeviceType deviceType)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 更新设备类型（更新指定字段）
//     * @param deviceTypeId 设备类型ID
//     * @param code 代码
//     * @param name 编号
//     * @param title 标题
//     * @param sn 排序序号
//     * @param activity 是否可用
//     */
//    @Transactional
//    DeviceType updateDeviceType(Long deviceTypeId,
//                                Long code,
//                                String name,
//                                String title,
//                                Long sn,
//                                Boolean activity)
//            throws ArgumentErrorException, ObjectNotFoundException, UniqueConstraintsException;
//
//    /**
//     * 根据ID获得设备类型对象
//     * @param id 状态ID
//     */
//    DeviceType findByDeviceTypeId(Long id);
//
//    /**
//     * 根据代码获得设备类型对象
//     * @param code 代码
//     */
//    DeviceType findByCode(Long code);
//
//    /**
//     * 根据编号获得设备类型对象
//     * @param name 编号
//     */
//    DeviceType findByName(String name);
//
//    /**
//     * 获得全部设备类型对象
//     */
//    Iterable<DeviceType> findDeviceTypes();
//
//    /**
//     * 根据设备代码获得设备类型
//     * @param devCode 设备代码
//     */
//    DeviceType findDeviceTypeByDevCode(Long devCode);
//}
